export function appendQueryParameters(url, queryParams) {
    // 检查链接是否为空
    if (!url) {
        console.error("URL不能为空");
        return null;
    }
  
    // 检查查询参数是否为空
    if (!queryParams || Object.keys(queryParams).length === 0) {
        // console.error("查询参数不能为空");
        return url;
    }
  
    // 如果链接中已经有查询参数，则使用"&"连接符，否则使用"?"
    const separator = url.includes("?") ? "&" : "?";
  
    // 构建查询参数字符串
    const queryString = Object.keys(queryParams).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(queryParams[key])}`).join("&");
  
    // 拼接链接和查询参数
    return `${url}${separator}${queryString}`;
  }
  
  // 将url链接中的参数解析成json对象格式返回
  export function parseQueryParameters(url) {
    // 检查URL是否为空
    if (!url) {
        console.error("URL不能为空");
        return null;
    }
  
    // 从URL中提取查询参数部分
    const queryStartIndex = url.indexOf('?');
    if (queryStartIndex === -1) {
        // URL不包含查询参数
        return {};
    }
  
    const queryString = url.substring(queryStartIndex + 1);
  
    // 解析查询参数字符串为键值对数组
    const pairs = queryString.split('&');
  
    // 创建一个空对象来存储解析后的参数
    const queryParams = {};
  
    // 遍历键值对数组，将每个键值对解析为对象属性
    for (const pair of pairs) {
        const [key, value] = pair.split('=');
        // 解码键和值
        const decodedKey = decodeURIComponent(key);
        const decodedValue = decodeURIComponent(value);
        // 将键值对添加到对象中
        queryParams[decodedKey] = decodedValue;
    }
  
    return queryParams;
  }
  


// 导入用户存储
import store from "@/store"
// import { useUserStore } from "@/stores/user.js"
const VITE_WEIXIN_APPID = import.meta.env.VITE_WEIXIN_APPID
// 获取用户存储中的授权码
// const authCode = useUserStore().getAuthCode
const authCode = store.get("authCode")
// 获取VITE_VISIT_URL
const VITE_VISIT_URL = import.meta.env.VITE_VISIT_URL
// 定义获取授权的函数
export const getAuth = ({url})=>{
    // 如果存在授权码，则返回
    if (authCode) return authCode
    // 编码跳转地址
    let redirectUri = encodeURIComponent(url) ||  encodeURIComponent(
		`${VITE_VISIT_URL}/#/`
	);
    // AppID
    let appId = VITE_WEIXIN_APPID
	// 授权范围
    let scope = 'snsapi_userinfo'
    // 构造微信授权链接
	let wxAuthUrl =
    `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${redirectUri}&response_type=code&scope=${scope}&state=STATE#wechat_redirect`;
    // alert("跳转至微信授权页面wxAuthUrl"+wxAuthUrl)
	window.location.href = wxAuthUrl;
}  